package top.tangyh.lamp.care.vo.result;

import cn.hutool.core.map.MapUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import java.util.Map;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import top.tangyh.basic.base.entity.Entity;
import top.tangyh.basic.interfaces.echo.EchoVO;
import java.io.Serializable;

/**
 * <p>
 * 表单查询方法返回值VO
 * 手术信息
 * </p>
 *
 * @author zqb
 * @date 2024-12-18 09:48:00
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Builder
@Schema(description = "手术信息")
public class HisOperationResultVO extends Entity<Long> implements Serializable, EchoVO {

    private static final long serialVersionUID = 1L;

    private Map<String, Object> echoMap = MapUtil.newHashMap();

//    @Schema(description = "主键id")
//    private Long id;

    /**
    * 姓名
    */
    @Schema(description = "姓名")
    private String name;
    /**
    * 性别
    */
    @Schema(description = "性别")
    private Integer sex;
    /**
    * 年龄
    */
    @Schema(description = "年龄")
    private Integer age;
    /**
    * 病人出生日期
    */
    @Schema(description = "病人出生日期")
    private LocalDateTime dateOfBirth;
    /**
    * 患者科室编号
    */
    @Schema(description = "患者科室编号")
    private Integer deptId;
    /**
    * 患者科室编码
    */
    @Schema(description = "患者科室编码")
    private Integer depeCode;
    /**
    * 患者科室名称
    */
    @Schema(description = "患者科室名称")
    private String deptName;
    /**
    * 病人识别号
    */
    @Schema(description = "病人识别号")
    private Integer patId;
    /**
    * 病人来源
    */
    @Schema(description = "病人来源")
    private Integer sourceType;
    /**
    * 入手术室时间
    */
    @Schema(description = "入手术室时间")
    private LocalDateTime beginTime;
    /**
    * 出手术室时间
    */
    @Schema(description = "出手术室时间")
    private LocalDateTime endTime;
    /**
    * 过敏史
    */
    @Schema(description = "过敏史")
    private String allergy;
    /**
    * 患者住院号
    */
    @Schema(description = "患者住院号")
    private Integer regId;
    /**
    * 手术申请单号
    */
    @Schema(description = "手术申请单号")
    private Integer requestNo;
    /**
    * 手术申请单明序号
    */
    @Schema(description = "手术申请单明序号")
    private Integer opsSeq;
    /**
    * 床位号
    */
    @Schema(description = "床位号")
    private Integer bedId;
    /**
    * 手术安排时间
    */
    @Schema(description = "手术安排时间")
    private LocalDateTime arrangeOpsTime;
    /**
    * 预约时间
    */
    @Schema(description = "预约时间")
    private LocalDateTime resvTime;
    /**
    * 手术房间
    */
    @Schema(description = "手术房间")
    private Integer roomId1;
    /**
    * 主刀医生
    */
    @Schema(description = "主刀医生")
    private Integer surgeonDoctor;
    /**
    * 术前诊断
    */
    @Schema(description = "术前诊断")
    private String diag;
    /**
    * 术后诊断
    */
    @Schema(description = "术后诊断")
    private String afterDiag;
    /**
    * 手术编码
    */
    @Schema(description = "手术编码")
    private String surgeryCode;
    /**
    * 拟施手术
    */
    @Schema(description = "拟施手术")
    private String proposedSurgery;
    /**
    * 申请状态
    */
    @Schema(description = "申请状态")
    private Integer state;
    /**
    * 择急
    */
    @Schema(description = "择急")
    private Integer isEme;
    /**
    * 手术部位
    */
    @Schema(description = "手术部位")
    private Integer opsParts;
    /**
    * 麻醉方式
    */
    @Schema(description = "麻醉方式")
    private String anesthesiaMethods;
    /**
    * 麻醉方式编码
    */
    @Schema(description = "麻醉方式编码")
    private String anesthesiaMethodsCode;
    /**
    * 申请时间
    */
    @Schema(description = "申请时间")
    private LocalDateTime auditTime;
    /**
    * 申请人工号
    */
    @Schema(description = "申请人工号")
    private Integer reqDoctor;
    /**
    * 申请人姓名
    */
    @Schema(description = "申请人姓名")
    private String applicantName;
    /**
    * 手术要求
    */
    @Schema(description = "手术要求")
    private String opsRequire;
    /**
    * 安排时间
    */
    @Schema(description = "安排时间")
    private LocalDateTime arrangeOpsTime1;
    /**
    * 医生手术排班状态
    */
    @Schema(description = "医生手术排班状态")
    private String docScheduling;
    /**
    * 护士手术排班状态
    */
    @Schema(description = "护士手术排班状态")
    private String nurScheduling;
    /**
    * 手术状态（用来判断患者是否做过手术）
    */
    @Schema(description = "手术状态（用来判断患者是否做过手术）")
    private Integer isAgain;
    /**
    * 麻醉方式
    */
    @Schema(description = "麻醉方式")
    private String anesWayName;
    /**
    * 护理方式
    */
    @Schema(description = "护理方式")
    private String nursingMethods;
    /**
    * 护士长操作工号
    */
    @Schema(description = "护士长操作工号")
    private String headNurse;
    /**
    * 医生操作工号
    */
    @Schema(description = "医生操作工号")
    private String docId;
    /**
    * 医生操作时间
    */
    @Schema(description = "医生操作时间")
    private String docTime;
    /**
    * 麻醉单ASA分级
    */
    @Schema(description = "麻醉单ASA分级")
    private Integer asaLevel;
    /**
    * 麻醉手术体位
    */
    @Schema(description = "麻醉手术体位")
    private Integer opsPosture;
    /**
    * 手术间id
    */
    @Schema(description = "手术间id")
    private Integer roomId;
    /**
    * 手术间编号
    */
    @Schema(description = "手术间编号")
    private Integer roomCode;
    /**
    * 手术间名称
    */
    @Schema(description = "手术间名称")
    private String roomName;
    /**
    * 手术台数
    */
    @Schema(description = "手术台数")
    private Integer opsSeq2;
    /**
    * 主麻工号
    */
    @Schema(description = "主麻工号")
    private Integer ansisiterEmpid1;
    /**
    * 主麻姓名
    */
    @Schema(description = "主麻姓名")
    private String ansisiterName1;
    /**
    * 副麻工号
    */
    @Schema(description = "副麻工号")
    private Integer ansisiterEmpid2;
    /**
    * 副麻姓名
    */
    @Schema(description = "副麻姓名")
    private String ansisiterName2;
    /**
    * 洗手护士工号1
    */
    @Schema(description = "洗手护士工号1")
    private Integer washingNurseEmpid1;
    /**
    * 洗手护士1姓名
    */
    @Schema(description = "洗手护士1姓名")
    private String washingNurseName1;
    /**
    * 洗手护士工号2
    */
    @Schema(description = "洗手护士工号2")
    private Integer washingNurseEmpid2;
    /**
    * 洗手护士2姓名
    */
    @Schema(description = "洗手护士2姓名")
    private String washingNurseName2;
    /**
    * 巡回护士工号1
    */
    @Schema(description = "巡回护士工号1")
    private Integer touringNurseEmpid1;
    /**
    * 巡回护士1姓名
    */
    @Schema(description = "巡回护士1姓名")
    private String touringNurseName1;
    /**
    * 巡回护士工号2
    */
    @Schema(description = "巡回护士工号2")
    private Integer touringNurseEmpid2;
    /**
    * 巡回护士2姓名
    */
    @Schema(description = "巡回护士2姓名")
    private String touringNurseName2;
    /**
    * 巡回护士工号3
    */
    @Schema(description = "巡回护士工号3")
    private Integer touringNurseEmpid3;
    /**
    * 巡回护士3姓名
    */
    @Schema(description = "巡回护士3姓名")
    private String touringNurseName3;
    /**
    * 器械护士1工号
    */
    @Schema(description = "器械护士1工号")
    private String instrumentNurseEmpid1;
    /**
    * 器械护士1姓名
    */
    @Schema(description = "器械护士1姓名")
    private String instrumentNurseName1;
    /**
    * 器械护士2工号
    */
    @Schema(description = "器械护士2工号")
    private String instrumentNurseEmpid2;
    /**
    * 器械护士2姓名
    */
    @Schema(description = "器械护士2姓名")
    private String instrumentNurseName2;
    /**
    * 器械护士3工号
    */
    @Schema(description = "器械护士3工号")
    private String instrumentNurseEmpid3;
    /**
    * 器械护士3姓名
    */
    @Schema(description = "器械护士3姓名")
    private String instrumentNurseName3;
    /**
    * 手术医生工号
    */
    @Schema(description = "手术医生工号")
    private Integer opsParticiEmpid1;
    /**
    * 手术医生姓名
    */
    @Schema(description = "手术医生姓名")
    private String opsParticiName1;
    /**
    * 手术助手1工号
    */
    @Schema(description = "手术助手1工号")
    private Integer opsParticiEmpid2;
    /**
    * 手术助手1姓名
    */
    @Schema(description = "手术助手1姓名")
    private String opsParticiName2;
    /**
    * 手术助手2工号
    */
    @Schema(description = "手术助手2工号")
    private Integer opsParticiEmpid3;
    /**
    * 手术助手2姓名
    */
    @Schema(description = "手术助手2姓名")
    private String opsParticiName3;
    /**
    * 体温
    */
    @Schema(description = "体温")
    private String bt;
    /**
    * 身高
    */
    @Schema(description = "身高")
    private String height;
    /**
    * 体重
    */
    @Schema(description = "体重")
    private String weight;
    /**
    * 无创收缩压
    */
    @Schema(description = "无创收缩压")
    private String sbp;
    /**
    * 无创舒张压
    */
    @Schema(description = "无创舒张压")
    private String dbp;
    /**
    * 每分钟呼吸次数
    */
    @Schema(description = "每分钟呼吸次数")
    private String r;
    /**
    * 每分钟脉搏次数
    */
    @Schema(description = "每分钟脉搏次数")
    private String p;
    /**
    * 手术执行科室名
    */
    @Schema(description = "手术执行科室名")
    private String wardName;
    /**
    * 日间手术
    */
    @Schema(description = "日间手术")
    private Integer isAmbulatorySurgery;
    /**
    * 手术来源，1--门诊，2--住院
    */
    @Schema(description = "手术来源，1--门诊，2--住院")
    private Integer sourceType2;
    /**
    * 麻醉方式国标码
    */
    @Schema(description = "麻醉方式国标码")
    private String anesType;
    /**
    * 主手术隔离标识
    */
    @Schema(description = "主手术隔离标识")
    private String isolationSign;
    /**
    * 手术级别编码
    */
    @Schema(description = "手术级别编码")
    private Integer opsHealGrade;
    /**
    * 手术级别名称
    */
    @Schema(description = "手术级别名称")
    private String opsHealName;
    /**
    * 病人身份证号
    */
    @Schema(description = "病人身份证号")
    private String idCard;
    /**
    * 社保编号
    */
    @Schema(description = "社保编号")
    private String socialSecurityCode;
    /**
    * 医保卡号
    */
    @Schema(description = "医保卡号")
    private String cardData;
    /**
    * 患者电话
    */
    @Schema(description = "患者电话")
    private String telePhone;
    /**
    * 患者地址
    */
    @Schema(description = "患者地址")
    private String addr;
    /**
    * 医疗费用
    */
    @Schema(description = "医疗费用")
    private String amount;
    /**
    * 实际麻醉指导工号
    */
    @Schema(description = "实际麻醉指导工号")
    private String ansisiterEmpid;
    /**
    * 实际麻醉指导姓名
    */
    @Schema(description = "实际麻醉指导姓名")
    private String ansisiterName;
    /**
    * 手术名称
    */
    @Schema(description = "手术名称")
    private String opsName;
    /**
    * 麻醉级别
    */
    @Schema(description = "麻醉级别")
    private Integer anesEffect;
    /**
    * 数据创建时间（his同步用）
    */
    @Schema(description = "数据创建时间（his同步用）")
    private LocalDateTime modifyTime;
    /**
    * 数据更新时间（his同步用）
    */
    @Schema(description = "数据更新时间（his同步用）")
    private LocalDateTime updateTime;



}
